#include <iostream>
#include <algorithm>
#include <vector>
#include <unordered_map>
#include <queue>
using namespace std;
typedef long long ll;



//class Solution {
//public:
//    int similarPairs(vector<string>& words) {
//        int n = words.size();
//        unordered_map<int, int> cnt;
//        int ans = 0;
//        for (auto x : words) {
//            int mask = 0;
//            for (char c : x) {
//                mask |= 1 << (c - 'a');
//            }
//            ans += cnt[mask]++;
//        }
//        return ans;
//    }
//};

//class Solution {
//public:
//    int minimumWhiteTiles(string s, int numCarpets, int carpetLen) {
//        int n = s.size();
//        int m = numCarpets;
//        vector<vector<int>> dp(m + 1, vector<int>(n + 1));
//        for (int j = 1; j <= n; j++) {
//            if (s[j-1] == '1')
//                dp[0][j] = dp[0][j - 1] + 1;
//            else
//                dp[0][j] = dp[0][j - 1];
//        }
//        for (int i = 1; i <= m; i++) {
//            for (int j = carpetLen * i; j <= n; j++) {
//                dp[i][j] = min(dp[i][j - 1] + (s[j - 1] - '0'), dp[i - 1][j - carpetLen]);
//            }
//        }
//        return dp[m][n];
//    }
//};

//class Solution {
//public:
//    int minimumWhiteTiles(string s, int numCarpets, int carpetLen) {
//        int n = s.size();
//        if (numCarpets * carpetLen >= n)
//            return 0;
//        int m = numCarpets;
//        vector<int> dp(n + 1);
//
//        for (int i = 1; i <= n; i++)
//            dp[i] = dp[i - 1] + (s[i - 1] - '0');
//        for (int i = 1; i <= m; i++) {
//            vector<int> nf(n + 1);
//            for (int j = carpetLen * i; j <= n; j++) {
//                nf[j] = min(nf[j - 1] + (s[j - 1] - '0'), dp[j - carpetLen]);
//            }
//            dp = move(nf);
//        }
//        return dp[n];
//    }
//};

//const int Mod = 998244353;
//int t,n;
//
//int add(int x, int y) {
//	x += y;
//	if (x >= Mod)	x -= Mod;
//	return x;
//}
//
//int main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> t;
//	while (t--) {
//		cin >> n;
//		vector<vector<int>> dp(n + 1, vector<int>(4, 0));
//		int l1 = 0, l2 = 0, l3 = 0;
//		for (int i = 1,x; i <= n; i++) {
//			cin >> x;
//			if (x == 1) {
//				dp[i][x] =add(dp[l1][x] , 1);
//				l1 = i;
//			}
//			else if (x == 2) {
//				dp[i][x] = add(dp[l2][x], dp[l2][x]);
//				dp[i][x] = add(dp[i][x], dp[l1][x - 1]);
//				l2 = i;
//			}
//			else {
//				dp[i][x] = add(dp[l3][x], dp[l2][x - 1]);
//				l3 = i;
//			}
//		}
//		cout << dp[l3][3] << '\n';
//	}
//
//	return 0;
//}


int t, n, m;
unordered_map<int, int> mp;
int book[705][705];


int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	for (int i = 1; i <= n; i++) {
		for (int j = 1,x; j <= m; j++) {
			cin >> x;
			book[n][m] = x;
			mp[x] = 1;
		}
	}

	return 0;
}